home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 1 / BBS in a box - Trilogy I.iso / Files / QuickTime / QT Tools / QuickTime Interfacing / Movies.p < prev    next >
Encoding:
Text File  |  1992-10-20  |  42.9 KB  |  1,390 lines  |  [TEXT/MPS ]

  1.  
  2. {
  3. Created: Wednesday, August 14, 1991 at 12:36 PM
  4.  Movies.p
  5.  Pascal Interface to the Macintosh Libraries
  6.  
  7.   Copyright Apple Computer, Inc. 1991
  8.   All rights reserved
  9.  
  10. }
  11.  
  12.  
  13. {$IFC UNDEFINED UsingIncludes}
  14. {$SETC UsingIncludes := 0}
  15. {$ENDC}
  16.  
  17. {$IFC NOT UsingIncludes}
  18.  UNIT Movies;
  19.  INTERFACE
  20. {$ENDC}
  21.  
  22. {$IFC UNDEFINED UsingMovies}
  23. {$SETC UsingMovies := 1}
  24.  
  25. {$I+}
  26. {$SETC MoviesIncludes := UsingIncludes}
  27. {$SETC UsingIncludes := 1}
  28. {$IFC UNDEFINED UsingQuickDraw}
  29. {$I $$Shell(PInterfaces)QuickDraw.p}
  30. {$ENDC}
  31. {$IFC UNDEFINED UsingAliases}
  32. {$I $$Shell(PInterfaces)Aliases.p}
  33. {$ENDC}
  34. {$IFC UNDEFINED UsingEvents}
  35. {$I $$Shell(PInterfaces)Events.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED UsingComponents}
  38. {$I $$Shell(PInterfaces)Components.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED UsingImageCompression}
  41. {$I $$Shell(PInterfaces)ImageCompression.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED UsingMenus}
  44. {$I $$Shell(PInterfaces)Menus.p}
  45. {$ENDC}
  46.  
  47. {$SETC UsingIncludes := MoviesIncludes}
  48.  
  49. CONST
  50. gestaltQuickTime = 'qtim';
  51.  
  52. MovieFileType = 'MooV';
  53.  
  54. VideoMediaType = 'vide';
  55. SoundMediaType = 'soun';
  56.  
  57. DoTheRightThing = 0;
  58.  
  59. kFullVolume = $100;                { 8.8 format }
  60. kNoVolume = 0;
  61.  
  62.  
  63. TYPE
  64. Movie = ^MovieRecord;
  65. MovieRecord = RECORD
  66.  data: ARRAY [0..0] OF LONGINT;
  67.  END;
  68.  
  69. Track = ^TrackRecord;
  70. TrackRecord = RECORD
  71.  data: ARRAY [0..0] OF LONGINT;
  72.  END;
  73.  
  74. Media = ^MediaRecord;
  75. MediaRecord = RECORD
  76.  data: ARRAY [0..0] OF LONGINT;
  77.  END;
  78.  
  79. UserData = ^UserDataRecord;
  80. UserDataRecord = RECORD
  81.  data: ARRAY [0..0] OF LONGINT;
  82.  END;
  83.  
  84. TrackEditState = ^TrackEditStateRecord;
  85. TrackEditStateRecord = RECORD
  86.  data: ARRAY [0..0] OF LONGINT;
  87.  END;
  88.  
  89. MovieEditState = ^MovieEditStateRecord;
  90. MovieEditStateRecord = RECORD
  91.  data: ARRAY [0..0] OF LONGINT;
  92.  END;
  93.  
  94.  
  95. TimeValue = LONGINT;
  96. TimeScale = LONGINT;
  97.  
  98. TimeBase = ^TimeBaseRecord;
  99. TimeBaseRecord = RECORD
  100.  data: ARRAY [0..0] OF LONGINT;
  101.  END;
  102.  
  103. QTCallBack = ^CallBackRecord;
  104. CallBackRecord = RECORD
  105.  data: ARRAY [0..0] OF LONGINT;
  106.  END;
  107.  
  108. Int64 = RECORD
  109.  hi: LONGINT;
  110.  lo: LONGINT;
  111.  END;
  112.  
  113. TimeRecord = RECORD
  114.  value: Int64;
  115.  scale: TimeScale;
  116.  base: TimeBase;
  117.  END;
  118.  
  119. SampleDescriptionPtr = ^SampleDescription;
  120. SampleDescriptionHandle = ^SampleDescriptionPtr;
  121. SampleDescription = RECORD
  122.  descSize: LONGINT;
  123.  dataFormat: LONGINT;
  124.  END;
  125.  
  126. SoundDescriptionPtr = ^SoundDescription;
  127. SoundDescriptionHandle = ^SoundDescriptionPtr;
  128. SoundDescription = RECORD
  129.  descSize: LONGINT;
  130.  dataFormat: LONGINT;
  131.  resvd1: LONGINT;
  132.  resvd2: INTEGER;
  133.  dataRefIndex: INTEGER;
  134.  version: INTEGER;
  135.  revlevel: INTEGER;
  136.  vendor: LONGINT;
  137.  numChannels: INTEGER;
  138.  sampleSize: INTEGER;
  139.  compressionID: INTEGER;
  140.  packetSize: INTEGER;
  141.  sampleRate: Fixed;
  142.  END;
  143.  
  144. TextDescriptionPtr = ^TextDescription;
  145. TextDescriptionHandle = ^TextDescriptionPtr;
  146. TextDescription = RECORD
  147.  descSize: LONGINT;
  148.  dataFormat: LONGINT;
  149.  
  150.  resvd1: LONGINT;
  151.  resvd2: LONGINT;
  152.  
  153.  displayFlags: LONGINT;
  154.  textJustification: LONGINT;
  155.     
  156.  bgColor: RGBColor;
  157.     
  158.  defaultTextBox: Rect;
  159.  defaultStyle: ScrpSTElement;
  160.  END;
  161.  
  162. CONST
  163.  
  164. { progress messages }
  165. movieProgressOpen = 0;
  166. movieProgressUpdatePercent = 1;
  167. movieProgressClose = 2;
  168.  
  169.  
  170. { progress operations }
  171. progressOpFlatten = 1;
  172. progressOpInsertTrackSegment = 2;
  173. progressOpInsertMovieSegment = 3;
  174. progressOpPaste = 4;
  175. progressOpAddMovieSelection = 5;
  176. progressOpCopy = 6;
  177. progressOpCut = 7;
  178. progressOpLoadMovieIntoRam = 8;
  179. progressOpLoadTrackIntoRam = 9;
  180. progressOpLoadMediaIntoRam = 10;
  181.  
  182. { media quality settings }
  183. mediaQualityDraft = $0000;
  184. mediaQualityNormal = $0040;
  185. mediaQualityBetter = $0080;
  186. mediaQualityBest = $00C0;
  187.  
  188. { loadintoram flags }
  189. keepInRam = 1;
  190. unkeepInRam = 2;
  191. flushFromRam = 4;
  192. loadForwardTrackEdits = 8;
  193. loadBackwardTrackEdits = 16;
  194.  
  195.  
  196. TYPE
  197. MovieProgressProcPtr = ProcPtr;
  198.  
  199. MovieRgnCoverProc = ProcPtr;
  200.  
  201. MediaInformationHandle = Handle;
  202. MediaHandler = ComponentInstance;
  203. MediaHandlerComponent = Component;
  204. DataHandler = ComponentInstance;
  205. DataHandlerComponent = Component;
  206. HandlerError = ComponentResult;
  207. MovieController = ComponentInstance;
  208.  
  209. ErrorProcPtr = ProcPtr;
  210. MoviePreviewCallOutProc = ProcPtr;
  211.  
  212. CONST
  213. newMovieActive = $1;
  214. newMovieDontResolveDataRefs = $2;
  215. newMovieDontAskUnresolvedDataRefs = $4;
  216.  
  217. trackUsageInMovie = $2;
  218. trackUsageInPreview = $4;
  219. trackUsageInPoster = $8;
  220.  
  221. mediaSampleNotSync = 1;
  222. mediaSampleShadowSync = 2;
  223.  
  224. nextTimeMediaSample = $1;
  225. nextTimeMediaEdit = $2;
  226. nextTimeTrackEdit = $4;
  227. nextTimeSyncSample = $8;
  228. nextTimeEdgeOK = $2000;
  229. nextTimeIgnoreActiveSegment = $4000;
  230.  
  231. createMovieFileDeleteCurFile = $80000000;
  232. createMovieFileDontCreateMovie = $40000000;
  233. createMovieFileDontOpenFile = $20000000;
  234.  
  235. flattenAddMovieToDataFork = $1;
  236. flattenActiveTracksOnly = $4;
  237. flattenDontInterleaveFlatten = $8;
  238.  
  239. movieScrapDontZeroScrap = $1;
  240. movieScrapOnlyPutMovie = $2;
  241.  
  242. hintsScrubMode = $1;
  243. hintsUseScreenBuffer = $20;
  244. hintsAllowInterlace = $40;
  245. hintsUseSoundLerp = $80;
  246.  
  247. mediaHandlerFlagGenericClient = 1;
  248.  
  249. dfDontDisplay = $1;
  250. dfDontAutoScale = $2;
  251. dfClipToTextBox = $4;
  252. dfUseMovieBGColor = $8;
  253. dfTextBoxInData = $10;
  254. dfVertScroll = $20;
  255. dfHorizScroll = $40;
  256.  
  257. txtProcDefaultDisplay = 0;
  258. txtProcDontDisplay = 1;
  259. txtProcDoDisplay = 2;
  260.  
  261. {  Initialization Routines  }
  262. FUNCTION EnterMovies: OSErr;
  263.  INLINE $303C,$1,$AAAA;
  264. PROCEDURE ExitMovies;
  265.  INLINE $303C,$2,$AAAA;
  266.  
  267.  
  268. {  error Routines  }
  269. FUNCTION GetMoviesError: OSErr;
  270.  INLINE $303C,$3,$AAAA;
  271. PROCEDURE ClearMoviesStickyError;
  272.  INLINE $303C,$DE,$AAAA;
  273. FUNCTION GetMoviesStickyError: OSErr;
  274.  INLINE $303C,$4,$AAAA;
  275.  
  276. PROCEDURE SetMoviesErrorProc(errProc: ErrorProcPtr;refcon: LONGINT);
  277.  INLINE $303C,$EF,$AAAA;
  278.  
  279. FUNCTION GetTrackStatus(t: Track): ComponentResult;
  280.  INLINE $303C,$172,$AAAA;
  281. FUNCTION GetMovieStatus(m: Movie;VAR firstProblemTrack: Track): ComponentResult;
  282.  INLINE $303C,$173,$AAAA;
  283.  
  284.  
  285. {  Playback Routines  }
  286. PROCEDURE MoviesTask(m: Movie;maxMilliSecToUse: LONGINT);
  287.  INLINE $303C,$5,$AAAA;
  288.  
  289. PROCEDURE StartMovie(m: Movie);
  290.  INLINE $303C,$B,$AAAA;
  291. PROCEDURE StopMovie(m: Movie);
  292.  INLINE $303C,$C,$AAAA;
  293. PROCEDURE GoToBeginningOfMovie(m: Movie);
  294.  INLINE $303C,$D,$AAAA;
  295. PROCEDURE GoToEndOfMovie(m: Movie);
  296.  INLINE $303C,$E,$AAAA;
  297. FUNCTION IsMovieDone(m: Movie): BOOLEAN;
  298.  INLINE $303C,$DD,$AAAA;
  299.  
  300. FUNCTION GetMoviePreviewMode(m: Movie): BOOLEAN;
  301.  INLINE $303C,$F,$AAAA;
  302. PROCEDURE SetMoviePreviewMode(m: Movie;usePreview: BOOLEAN);
  303.  INLINE $303C,$10,$AAAA;
  304. PROCEDURE ShowMoviePoster(m: Movie);
  305.  INLINE $303C,$11,$AAAA;
  306.  
  307. PROCEDURE GetMovieGWorld(m: Movie;VAR port: CGrafPtr;VAR gdh: GDHandle);
  308.  INLINE $303C,$15,$AAAA;
  309. PROCEDURE SetMovieGWorld(m: Movie;port: CGrafPtr;gdh: GDHandle);
  310.  INLINE $303C,$16,$AAAA;
  311.  
  312. FUNCTION PrerollMovie(m: Movie;time: TimeValue;Rate: Fixed): OSErr;
  313.  INLINE $303C,$6,$AAAA;
  314. FUNCTION LoadMovieIntoRam(m: Movie;time: TimeValue;duration: TimeValue;
  315.  flags: LONGINT): OSErr;
  316.  INLINE $303C,$7,$AAAA;
  317. FUNCTION LoadTrackIntoRam(t: Track;time: TimeValue;duration: TimeValue;
  318.  flags: LONGINT): OSErr;
  319.  INLINE $303C,$16E,$AAAA;
  320. FUNCTION LoadMediaIntoRam(m: Media;time: TimeValue;duration: TimeValue;
  321.  flags: LONGINT): OSErr;
  322.  INLINE $303C,$8,$AAAA;
  323.  
  324. PROCEDURE SetMovieActive(m: Movie;active: BOOLEAN);
  325.  INLINE $303C,$9,$AAAA;
  326. FUNCTION GetMovieActive(m: Movie): BOOLEAN;
  327.  INLINE $303C,$A,$AAAA;
  328.  
  329. PROCEDURE PlayMoviePreview(m: Movie;callOutProc: MoviePreviewCallOutProc;
  330.  refcon: LONGINT);
  331.  INLINE $303C,$F2,$AAAA;
  332.  
  333.  
  334. {  Movie PICT Routines  }
  335. FUNCTION GetMoviePict(m: Movie;time: TimeValue): PicHandle;
  336.  INLINE $303C,$1D,$AAAA;
  337. FUNCTION GetTrackPict(t: Track;time: TimeValue): PicHandle;
  338.  INLINE $303C,$1E,$AAAA;
  339.  
  340. FUNCTION GetMoviePosterPict(m: Movie): PicHandle;
  341.  INLINE $303C,$F7,$AAAA;
  342.  
  343.  
  344. {  movie TimeBase Routines  }
  345. FUNCTION GetMovieTimeBase(m: Movie): TimeBase;
  346.  INLINE $303C,$12,$AAAA;
  347.  
  348. PROCEDURE SetMovieMasterTimeBase(m: Movie;tb: TimeBase;slaveZero: TimeRecord);
  349.  INLINE $303C,$167,$AAAA;
  350. PROCEDURE SetMovieMasterClock(m: Movie;clockMeister: Component;slaveZero: TimeRecord);
  351.  INLINE $303C,$168,$AAAA;
  352.  
  353.  
  354. {  spatial movie Routines  }
  355. PROCEDURE GetMovieBox(m: Movie;VAR boxRect: Rect);
  356.  INLINE $303C,$F9,$AAAA;
  357. PROCEDURE SetMovieBox(m: Movie;boxRect: Rect);
  358.  INLINE $303C,$FA,$AAAA;
  359.  
  360.  
  361. {  movie display clip  }
  362. FUNCTION GetMovieDisplayClipRgn(m: Movie): RgnHandle;
  363.  INLINE $303C,$FC,$AAAA;
  364. PROCEDURE SetMovieDisplayClipRgn(m: Movie;theClip: RgnHandle);
  365.  INLINE $303C,$FD,$AAAA;
  366.  
  367.  
  368. {  movie clip  }
  369. FUNCTION GetMovieClipRgn(m: Movie): RgnHandle;
  370.  INLINE $303C,$100,$AAAA;
  371. PROCEDURE SetMovieClipRgn(m: Movie;theClip: RgnHandle);
  372.  INLINE $303C,$101,$AAAA;
  373.  
  374.  
  375. {  track clip  }
  376. FUNCTION GetTrackClipRgn(t: Track): RgnHandle;
  377.  INLINE $303C,$102,$AAAA;
  378. PROCEDURE SetTrackClipRgn(t: Track;theClip: RgnHandle);
  379.  INLINE $303C,$103,$AAAA;
  380.  
  381.  
  382. {  bounds in display space  }
  383. FUNCTION GetMovieDisplayBoundsRgn(m: Movie): RgnHandle;
  384.  INLINE $303C,$FB,$AAAA;
  385. FUNCTION GetTrackDisplayBoundsRgn(t: Track): RgnHandle;
  386.  INLINE $303C,$112,$AAAA;
  387.  
  388.  
  389. {  bounds in movie space  }
  390. FUNCTION GetMovieBoundsRgn(m: Movie): RgnHandle;
  391.  INLINE $303C,$FE,$AAAA;
  392. FUNCTION GetTrackMovieBoundsRgn(t: Track): RgnHandle;
  393.  INLINE $303C,$FF,$AAAA;
  394.  
  395.  
  396. {  bounds in track space  }
  397. FUNCTION GetTrackBoundsRgn(t: Track): RgnHandle;
  398.  INLINE $303C,$111,$AAAA;
  399.  
  400.  
  401. {  movie poster box  }
  402. PROCEDURE GetPosterBox(m: Movie;VAR boxRect: Rect);
  403.  INLINE $303C,$16F,$AAAA;
  404. PROCEDURE SetPosterBox(m: Movie;boxRect: Rect);
  405.  INLINE $303C,$170,$AAAA;
  406.  
  407.  
  408. {  movie/track bounds over a range of time  }
  409. FUNCTION GetMovieSegmentDisplayBoundsRgn(m: Movie;time: TimeValue;duration: TimeValue): RgnHandle;
  410.  INLINE $303C,$16C,$AAAA;
  411. FUNCTION GetTrackSegmentDisplayBoundsRgn(t: Track;time: TimeValue;
  412.  duration: TimeValue): RgnHandle;
  413.  INLINE $303C,$16B,$AAAA;
  414.  
  415. PROCEDURE SetMovieCoverProcs(m: Movie;uncoverProc: MovieRgnCoverProc;coverProc: MovieRgnCoverProc;
  416.  refCon: LONGINT);
  417.  INLINE $303C,$179,$AAAA;
  418.  
  419.  
  420. {  mattes - always in track space  }
  421. FUNCTION GetTrackMatte(t: Track): PixMapHandle;
  422.  INLINE $303C,$115,$AAAA;
  423. PROCEDURE SetTrackMatte(t: Track;theMatte: PixMapHandle);
  424.  INLINE $303C,$116,$AAAA;
  425. PROCEDURE DisposeMatte(theMatte: PixMapHandle);
  426.  INLINE $303C,$14A,$AAAA;
  427.  
  428.  
  429. {  movie creation Routines  }
  430. FUNCTION NewMovieFromHandle(VAR m:Movie; h: Handle;newMovieFlags: INTEGER;VAR dataRefWasChanged: BOOLEAN): OSErr;
  431.  INLINE $303C,$F1,$AAAA;
  432. FUNCTION PutMovieIntoHandle(m: Movie;h: Handle): OSErr;
  433.  INLINE $303C,$22,$AAAA;
  434. FUNCTION NewMovieFromDataFork(VAR m:Movie; fRefNum: INTEGER; fileOffset: LONGINT;
  435.  flags: INTEGER; VAR dataRefWasChanged: BOOLEAN): OSErr;
  436.  INLINE $303C,$110,$AAAA;
  437.  
  438. FUNCTION NewMovie(newMovieFlags: LONGINT): Movie;
  439.  INLINE $303C,$187,$AAAA;
  440. PROCEDURE DisposeMovie(m: Movie);
  441.  INLINE $303C,$23,$AAAA;
  442.  
  443.  
  444. {  Movie Routines  }
  445. FUNCTION GetMovieCreationTime(m: Movie): LONGINT;
  446.  INLINE $303C,$26,$AAAA;
  447. FUNCTION GetMovieModificationTime(m: Movie): LONGINT;
  448.  INLINE $303C,$27,$AAAA;
  449.  
  450. FUNCTION GetMovieTimeScale(m: Movie): TimeScale;
  451.  INLINE $303C,$29,$AAAA;
  452. PROCEDURE SetMovieTimeScale(m: Movie;timeScale: TimeScale);
  453.  INLINE $303C,$2A,$AAAA;
  454.  
  455. FUNCTION GetMovieDuration(m: Movie): TimeValue;
  456.  INLINE $303C,$2B,$AAAA;
  457.  
  458. FUNCTION GetMovieRate(m: Movie): Fixed;
  459.  INLINE $303C,$2C,$AAAA;
  460. PROCEDURE SetMovieRate(m: Movie;rate: Fixed);
  461.  INLINE $303C,$2D,$AAAA;
  462.  
  463. FUNCTION GetMoviePreferredRate(m: Movie): Fixed;
  464.  INLINE $303C,$F3,$AAAA;
  465. PROCEDURE SetMoviePreferredRate(m: Movie;rate: Fixed);
  466.  INLINE $303C,$F4,$AAAA;
  467.  
  468. FUNCTION GetMoviePreferredVolume(m: Movie): INTEGER;
  469.  INLINE $303C,$F5,$AAAA;
  470. PROCEDURE SetMoviePreferredVolume(m: Movie;volume: INTEGER);
  471.  INLINE $303C,$F6,$AAAA;
  472.  
  473. FUNCTION GetMovieVolume(m: Movie): INTEGER;
  474.  INLINE $303C,$2E,$AAAA;
  475. PROCEDURE SetMovieVolume(m: Movie;volume: INTEGER);
  476.  INLINE $303C,$2F,$AAAA;
  477.  
  478. PROCEDURE GetMovieMatrix(m: Movie;VAR matrix: MatrixRecord);
  479.  INLINE $303C,$31,$AAAA;
  480. PROCEDURE SetMovieMatrix(m: Movie;matrix: MatrixRecord);
  481.  INLINE $303C,$32,$AAAA;
  482.  
  483. PROCEDURE GetMoviePreviewTime(m: Movie;VAR previewTime: TimeValue;VAR previewDuration: TimeValue);
  484.  INLINE $303C,$33,$AAAA;
  485. PROCEDURE SetMoviePreviewTime(m: Movie;previewTime: TimeValue;previewDuration: TimeValue);
  486.  INLINE $303C,$34,$AAAA;
  487.  
  488. FUNCTION GetMoviePosterTime(m: Movie): TimeValue;
  489.  INLINE $303C,$35,$AAAA;
  490. PROCEDURE SetMoviePosterTime(m: Movie;posterTime: TimeValue);
  491.  INLINE $303C,$36,$AAAA;
  492.  
  493. PROCEDURE GetMovieSelection(m: Movie;VAR selectionTime: TimeValue;VAR selectionDuration: TimeValue);
  494.  INLINE $303C,$37,$AAAA;
  495. PROCEDURE SetMovieSelection(m: Movie;selectionTime: TimeValue;selectionDuration: TimeValue);
  496.  INLINE $303C,$38,$AAAA;
  497.  
  498. PROCEDURE SetMovieActiveSegment(m: Movie;startTime: TimeValue;duration: TimeValue);
  499.  INLINE $303C,$15C,$AAAA;
  500. PROCEDURE GetMovieActiveSegment(m: Movie;VAR startTime: TimeValue;VAR duration: TimeValue);
  501.  INLINE $303C,$15D,$AAAA;
  502.  
  503. FUNCTION GetMovieTime(m: Movie;VAR currentTime: TimeRecord): TimeValue;
  504.  INLINE $303C,$39,$AAAA;
  505. PROCEDURE SetMovieTime(m: Movie;newtime: TimeRecord);
  506.  INLINE $303C,$3C,$AAAA;
  507. PROCEDURE SetMovieTimeValue(m: Movie;newtime: TimeValue);
  508.  INLINE $303C,$3D,$AAAA;
  509.  
  510. FUNCTION GetMovieUserData(m: Movie): UserData;
  511.  INLINE $303C,$3E,$AAAA;
  512.  
  513. PROCEDURE SetMoviePlayHints(movie:Movie; flags:LONGINT; flagsMask:LONGINT );
  514.  INLINE $303C,$1A1,$AAAA;
  515.  
  516.  
  517. {  Movie/Track/Media finding Routines  }
  518. FUNCTION GetMovieTrackCount(m: Movie): LONGINT;
  519.  INLINE $303C,$3F,$AAAA;
  520. FUNCTION GetMovieTrack(m: Movie;trackID: LONGINT): Track;
  521.  INLINE $303C,$40,$AAAA;
  522.  
  523. FUNCTION GetMovieIndTrack(m: Movie;index: LONGINT): Track;
  524.  INLINE $303C,$117,$AAAA;
  525.  
  526. FUNCTION GetTrackID(t: Track): LONGINT;
  527.  INLINE $303C,$127,$AAAA;
  528.  
  529. FUNCTION GetTrackMovie(t: Track): Movie;
  530.  INLINE $303C,$D0,$AAAA;
  531.  
  532. FUNCTION GetTrackMedia(t: Track): Media;
  533.  INLINE $303C,$62,$AAAA;
  534. FUNCTION GetMediaTrack(m: Media): Track;
  535.  INLINE $303C,$C5,$AAAA;
  536.  
  537.  
  538. {  Track creation Routines  }
  539. FUNCTION NewMovieTrack(m: Movie;width: Fixed;height: Fixed;trackVolume: INTEGER): Track;
  540.  INLINE $303C,$188,$AAAA;
  541. PROCEDURE DisposeMovieTrack(t: Track);
  542.  INLINE $303C,$42,$AAAA;
  543.  
  544.  
  545. {  Track Routines  }
  546. FUNCTION GetTrackCreationTime(t: Track): LONGINT;
  547.  INLINE $303C,$43,$AAAA;
  548. FUNCTION GetTrackModificationTime(t: Track): LONGINT;
  549.  INLINE $303C,$44,$AAAA;
  550.  
  551. FUNCTION GetTrackEnabled(t: Track): BOOLEAN;
  552.  INLINE $303C,$45,$AAAA;
  553. PROCEDURE SetTrackEnabled(t: Track;isEnabled: BOOLEAN);
  554.  INLINE $303C,$46,$AAAA;
  555.  
  556. FUNCTION GetTrackUsage(t: Track): LONGINT;
  557.  INLINE $303C,$47,$AAAA;
  558. PROCEDURE SetTrackUsage(t: Track;usage: LONGINT);
  559.  INLINE $303C,$48,$AAAA;
  560.  
  561. FUNCTION GetTrackDuration(t: Track): TimeValue;
  562.  INLINE $303C,$4B,$AAAA;
  563.  
  564. FUNCTION GetTrackOffset(t: Track): TimeValue;
  565.  INLINE $303C,$4C,$AAAA;
  566. PROCEDURE SetTrackOffset(t: Track;offset: TimeValue);
  567.  INLINE $303C,$4D,$AAAA;
  568.  
  569. FUNCTION GetTrackLayer(t: Track): INTEGER;
  570.  INLINE $303C,$50,$AAAA;
  571. PROCEDURE SetTrackLayer(t: Track;layer: INTEGER);
  572.  INLINE $303C,$51,$AAAA;
  573.  
  574. FUNCTION GetTrackAlternate(t: Track): Track;
  575.  INLINE $303C,$52,$AAAA;
  576. PROCEDURE SetTrackAlternate(t: Track;alternateT: Track);
  577.  INLINE $303C,$53,$AAAA;
  578.  
  579. FUNCTION GetTrackVolume(t: Track): INTEGER;
  580.  INLINE $303C,$54,$AAAA;
  581. PROCEDURE SetTrackVolume(t: Track;volume: INTEGER);
  582.  INLINE $303C,$55,$AAAA;
  583.  
  584. PROCEDURE GetTrackMatrix(t: Track;VAR matrix: MatrixRecord);
  585.  INLINE $303C,$56,$AAAA;
  586. PROCEDURE SetTrackMatrix(t: Track;matrix: MatrixRecord);
  587.  INLINE $303C,$57,$AAAA;
  588.  
  589. PROCEDURE GetTrackDimensions(t: Track;VAR width: Fixed;VAR height: Fixed);
  590.  INLINE $303C,$5D,$AAAA;
  591. PROCEDURE SetTrackDimensions(t: Track;width: Fixed;height: Fixed);
  592.  INLINE $303C,$5E,$AAAA;
  593.  
  594. FUNCTION GetTrackUserData(t: Track): UserData;
  595.  INLINE $303C,$5F,$AAAA;
  596.  
  597.  
  598. {  Media creation Routines  }
  599. FUNCTION NewTrackMedia(t: Track;mediaType: OSType;timeScale: TimeScale;
  600.  dataRef: Handle;dataRefType: OSType): Media;
  601.  INLINE $303C,$18E,$AAAA;
  602. PROCEDURE DisposeTrackMedia(m: Media);
  603.  INLINE $303C,$61,$AAAA;
  604.  
  605.  
  606. {  Media Routines  }
  607. FUNCTION GetMediaCreationTime(m: Media): LONGINT;
  608.  INLINE $303C,$66,$AAAA;
  609. FUNCTION GetMediaModificationTime(m: Media): LONGINT;
  610.  INLINE $303C,$67,$AAAA;
  611.  
  612. FUNCTION GetMediaTimeScale(m: Media): TimeScale;
  613.  INLINE $303C,$68,$AAAA;
  614. PROCEDURE SetMediaTimeScale(m: Media;timeScale: TimeScale);
  615.  INLINE $303C,$69,$AAAA;
  616.  
  617. FUNCTION GetMediaDuration(m: Media): TimeValue;
  618.  INLINE $303C,$6A,$AAAA;
  619.  
  620. FUNCTION GetMediaLanguage(m: Media): INTEGER;
  621.  INLINE $303C,$6B,$AAAA;
  622. PROCEDURE SetMediaLanguage(m: Media;language: INTEGER);
  623.  INLINE $303C,$6C,$AAAA;
  624.  
  625. FUNCTION GetMediaQuality(m: Media): INTEGER;
  626.  INLINE $303C,$6D,$AAAA;
  627. PROCEDURE SetMediaQuality(m: Media;quality: INTEGER);
  628.  INLINE $303C,$6E,$AAAA;
  629.  
  630. FUNCTION GetMediaUserData(m: Media): UserData;
  631.  INLINE $303C,$70,$AAAA;
  632.  
  633.  
  634. PROCEDURE SetMediaPlayHints( movie:Movie; flags:LONGINT; flagsMask:LONGINT );
  635.  INLINE $303C,$1A2,$AAAA;
  636.  
  637. {  Media Handler Routines  }
  638. FUNCTION GetMediaHandler(m: Media): MediaHandler;
  639.  INLINE $303C,$71,$AAAA;
  640. FUNCTION SetMediaHandler(m: Media;mH: MediaHandlerComponent): OSErr;
  641.  INLINE $303C,$190,$AAAA;
  642.  
  643. PROCEDURE GetMediaHandlerDescription(m: Media;VAR mediaType: OSType;VAR creatorName: Str255;
  644.  VAR creatorManufacturer: OSType);
  645.  INLINE $303C,$6F,$AAAA;
  646.  
  647.  
  648. CONST
  649. dataRefSelfReference = 1;
  650. dataRefWasNotResolved = 2;
  651.  
  652.  
  653. {  Media dataRef Routines  }
  654. FUNCTION GetMediaDataRef(m: Media;index: INTEGER;VAR dataRef: Handle;VAR dataRefType: OSType;
  655.  VAR dataRefAttributes: LONGINT): OSErr;
  656.  INLINE $303C,$197,$AAAA;
  657. FUNCTION AddMediaDataRef(m: Media;VAR index: INTEGER;dataRef: Handle;dataRefType: OSType): OSErr;
  658.  INLINE $303C,$198,$AAAA;
  659. FUNCTION SetMediaDataRef(m: Media;index: INTEGER;blob: Handle; blobType: OSType): OSType;
  660.  INLINE $303C,$1C9,$AAAA;
  661. FUNCTION SetMediaDataRefAttributes(m: Media;index: INTEGER;attributes: LONGINT): OSType;
  662.  INLINE $303C,$1CA,$AAAA;
  663. FUNCTION GetMediaDataRefCount(m: Media;VAR count: INTEGER): OSErr;
  664.  INLINE $303C,$199,$AAAA;
  665.  
  666.  
  667. {  Media data handler Routines  }
  668. FUNCTION GetMediaDataHandler(m: Media;index: INTEGER): DataHandler;
  669.  INLINE $303C,$19F,$AAAA;
  670. FUNCTION SetMediaDataHandler(m: Media;index: INTEGER; dataHandler: DataHandlerComponent): OSErr;
  671.  INLINE $303C,$1A0,$AAAA;
  672.  
  673. PROCEDURE GetMediaDataHandlerDescription(m: Media;index: INTEGER;VAR dhType: OSType;
  674.     VAR creatorName: Str255;VAR creatorManufacturer: OSType);
  675.     INLINE $303C,$19E,$AAAA;
  676.  
  677. {  Media sample Routines  }
  678. FUNCTION GetMediaSampleDescriptionCount(m: Media): LONGINT;
  679.  INLINE $303C,$77,$AAAA;
  680. PROCEDURE GetMediaSampleDescription(m: Media;index: LONGINT;descH: SampleDescriptionHandle);
  681.  INLINE $303C,$78,$AAAA;
  682. FUNCTION GetMediaSampleCount(m: Media): LONGINT;
  683.  INLINE $303C,$79,$AAAA;
  684. PROCEDURE SampleNumToMediaTime(m: Media;logicalSampleNum: LONGINT;VAR sampleTime: TimeValue;
  685.  VAR sampleDuration: TimeValue);
  686.  INLINE $303C,$7A,$AAAA;
  687. PROCEDURE MediaTimeToSampleNum(m: Media;time: TimeValue;VAR sampleNum: LONGINT;
  688.  VAR sampleTime: TimeValue;VAR sampleDuration: TimeValue);
  689.  INLINE $303C,$7B,$AAAA;
  690.  
  691. FUNCTION AddMediaSample(m: Media;dataIn: Handle;inOffset: LONGINT;size: LONGINT;
  692.  durationPerSample: TimeValue;sampleDescriptionH: SampleDescriptionHandle;
  693.  numberOfSamples: LONGINT;sampleFlags: INTEGER;VAR sampleTime: TimeValue): OSErr;
  694.  INLINE $303C,$7C,$AAAA;
  695. FUNCTION AddMediaSampleReference(m: Media;dataOffset: LONGINT;size: LONGINT;
  696.  durationPerSample: TimeValue;sampleDescriptionH: SampleDescriptionHandle;
  697.  numberOfSamples: LONGINT;sampleFlags: INTEGER;VAR sampleTime: TimeValue): OSErr;
  698.  INLINE $303C,$7D,$AAAA;
  699. FUNCTION GetMediaSample(m: Media;dataOut: Handle;maxSizeToGrow: LONGINT;
  700.  VAR size: LONGINT;time: TimeValue;VAR sampleTime: TimeValue;VAR durationPerSample: TimeValue;
  701.  sampleDescriptionH: SampleDescriptionHandle;VAR sampleDescriptionIndex: LONGINT;
  702.  maxNumberOfSamples: LONGINT;VAR numberOfSamples: LONGINT;VAR sampleFlags: INTEGER): OSErr;
  703.  INLINE $303C,$7E,$AAAA;
  704. FUNCTION GetMediaSampleReference(m: Media;VAR dataOffset: LONGINT;VAR size: LONGINT;
  705.  time: TimeValue;VAR sampleTime: TimeValue;VAR durationPerSample: TimeValue;
  706.  sampleDescriptionH: SampleDescriptionHandle;VAR sampleDescriptionIndex: LONGINT;
  707.  maxNumberOfSamples: LONGINT;VAR numberOfSamples: LONGINT;VAR sampleFlags: INTEGER): OSErr;
  708.  INLINE $303C,$7F,$AAAA;
  709.  
  710. FUNCTION SetMediaShadowSync(m: Media; frameDiffSampleNum: LONGINT; syncSampleNum: LONGINT): OSErr;
  711.  INLINE $303C,$121,$AAAA;
  712. FUNCTION GetMediaShadowSync(m: Media; frameDiffSampleNum: LONGINT; VAR syncSampleNum: LONGINT): OSErr;
  713.  INLINE $303C,$122,$AAAA;
  714.  
  715.  
  716. {  High level editing Routines  }
  717. FUNCTION CutMovieSelection(m: Movie): Movie;
  718.  INLINE $303C,$8D,$AAAA;
  719. FUNCTION CopyMovieSelection(m: Movie): Movie;
  720.  INLINE $303C,$8E,$AAAA;
  721. PROCEDURE PasteMovieSelection(m: Movie;src: Movie);
  722.  INLINE $303C,$8F,$AAAA;
  723. PROCEDURE AddMovieSelection(m: Movie;src: Movie);
  724.  INLINE $303C,$152,$AAAA;
  725. PROCEDURE ClearMovieSelection(m: Movie);
  726.  INLINE $303C,$E1,$AAAA;
  727. FUNCTION PasteHandleIntoMovie(h: Handle; handleType: OSType; m: Movie; flags: LONGINT; userComp: ComponentInstance): OSErr;
  728.  INLINE $303C,$CB,$AAAA;
  729. FUNCTION PutMovieIntoTypedHandle(m: Movie; targetTrack: Track; handleType: OSType; publicMovie: Handle;
  730.  start: TimeValue; dur: TimeValue; flags: LONGINT; userComp: ComponentInstance): OSErr;
  731.  INLINE $303C,$1CD,$AAAA;
  732. FUNCTION IsScrapMovie(targetTrack: Track): Component;
  733.  INLINE $303C,$CC,$AAAA;
  734. FUNCTION PutMovieIntoDataFork(m: Movie; fRefNum: INTEGER; offset: LONGINT; maxSize: LONGINT): OSErr;
  735.  INLINE $303C,$1B4,$AAAA;
  736.  
  737.  
  738. {  Middle-level Editing Routines  }
  739. FUNCTION InsertTrackSegment(srcTrack: Track;dstTrack: Track;srcIn: TimeValue;
  740.  srcDuration: TimeValue;dstIn: TimeValue): OSErr;
  741.  INLINE $303C,$85,$AAAA;
  742. FUNCTION InsertMovieSegment(srcMovie: Movie;dstMovie: Movie;srcIn: TimeValue;
  743.  srcDuration: TimeValue;dstIn: TimeValue): OSErr;
  744.  INLINE $303C,$86,$AAAA;
  745. FUNCTION InsertEmptyTrackSegment(dstTrack: Track;dstIn: TimeValue;dstDuration: TimeValue): OSErr;
  746.  INLINE $303C,$87,$AAAA;
  747. FUNCTION InsertEmptyMovieSegment(dstMovie: Movie;dstIn: TimeValue;dstDuration: TimeValue): OSErr;
  748.  INLINE $303C,$88,$AAAA;
  749. FUNCTION DeleteTrackSegment(t: Track;dstIn: TimeValue;duration: TimeValue): OSErr;
  750.  INLINE $303C,$89,$AAAA;
  751. FUNCTION DeleteMovieSegment(m: Movie;dstIn: TimeValue;duration: TimeValue): OSErr;
  752.  INLINE $303C,$8A,$AAAA;
  753. FUNCTION ScaleTrackSegment(t: Track;dstIn: TimeValue;oldDuration: TimeValue;
  754.  newDuration: TimeValue): OSErr;
  755.  INLINE $303C,$8B,$AAAA;
  756. FUNCTION ScaleMovieSegment(m: Movie;dstIn: TimeValue;oldDuration: TimeValue;
  757.  newDuration: TimeValue): OSErr;
  758.  INLINE $303C,$8C,$AAAA;
  759.  
  760. FUNCTION CopyTrackSettings(srcTrack: Track;dstTrack: Track): OSErr;
  761.  INLINE $303C,$153,$AAAA;
  762. FUNCTION CopyMovieSettings(srcMovie: Movie;dstMovie: Movie): OSErr;
  763.  INLINE $303C,$154,$AAAA;
  764.  
  765.  
  766. {  low-level Editing Routines  }
  767. FUNCTION InsertMediaIntoTrack(t: Track;trackStart: TimeValue;mediaTime: TimeValue;
  768.  mediaDuration: TimeValue;mediaRate: Fixed): OSErr;
  769.  INLINE $303C,$183,$AAAA;
  770.  
  771. FUNCTION BeginMediaEdits(m: Media): OSErr;
  772.  INLINE $303C,$72,$AAAA;
  773. FUNCTION EndMediaEdits(m: Media): OSErr;
  774.  INLINE $303C,$73,$AAAA;
  775.  
  776.  
  777. {  movie & track edit state Routines  }
  778. FUNCTION NewMovieEditState(m: Movie): MovieEditState;
  779.  INLINE $303C,$104,$AAAA;
  780. FUNCTION UseMovieEditState(m: Movie;toState: MovieEditState): OSErr;
  781.  INLINE $303C,$105,$AAAA;
  782. FUNCTION DisposeMovieEditState(state: MovieEditState): OSErr;
  783.  INLINE $303C,$106,$AAAA;
  784.  
  785. FUNCTION NewTrackEditState(t: Track): TrackEditState;
  786.  INLINE $303C,$107,$AAAA;
  787. FUNCTION UseTrackEditState(t: Track;state: TrackEditState): OSErr;
  788.  INLINE $303C,$108,$AAAA;
  789. FUNCTION DisposeTrackEditState(state: TrackEditState): OSErr;
  790.  INLINE $303C,$109,$AAAA;
  791.  
  792.  
  793. {  Miscellaneous Routines  }
  794. FUNCTION TrackTimeToMediaTime(value: TimeValue;t: Track): TimeValue;
  795.  INLINE $303C,$96,$AAAA;
  796. FUNCTION GetTrackEditRate(t: Track;atTime: TimeValue): Fixed;
  797.  INLINE $303C,$123,$AAAA;
  798.  
  799. FUNCTION GetMovieDataSize(m: Movie;startTime: TimeValue;duration: TimeValue): LONGINT;
  800.  INLINE $303C,$98,$AAAA;
  801. FUNCTION GetTrackDataSize(t: Track;startTime: TimeValue;duration: TimeValue): LONGINT;
  802.  INLINE $303C,$149,$AAAA;
  803. FUNCTION GetMediaDataSize(m: Media;startTime: TimeValue;duration: TimeValue): LONGINT;
  804.  INLINE $303C,$99,$AAAA;
  805.  
  806. FUNCTION PtInMovie(m: Movie;pt: Point): BOOLEAN;
  807.  INLINE $303C,$9A,$AAAA;
  808. FUNCTION PtInTrack(t: Track;pt: Point): BOOLEAN;
  809.  INLINE $303C,$9B,$AAAA;
  810.  
  811. FUNCTION UpdateMovie(m: Movie): OSErr;
  812.  INLINE $303C,$1F,$AAAA;
  813.  
  814.  
  815. {  Alternate Group Selection Routines  }
  816. PROCEDURE SetMovieLanguage(m: Movie;language: LONGINT);
  817.  INLINE $303C,$9C,$AAAA;
  818.  
  819. PROCEDURE SetAutoTrackAlternatesEnabled(m: Movie;enable: BOOLEAN);
  820.  INLINE $303C,$15E,$AAAA;
  821. PROCEDURE SelectMovieAlternates(m: Movie);
  822.  INLINE $303C,$15F,$AAAA;
  823.  
  824.  
  825. {  UserData Routines  }
  826. FUNCTION GetUserData(u: UserData;data: Handle;udType: OSType;index: LONGINT): OSErr;
  827.  INLINE $303C,$9E,$AAAA;
  828. FUNCTION AddUserData(u: UserData;data: Handle;udType: OSType): OSErr;
  829.  INLINE $303C,$9F,$AAAA;
  830. FUNCTION RemoveUserData(u: UserData;udType: OSType;index: LONGINT): OSErr;
  831.  INLINE $303C,$A0,$AAAA;
  832. FUNCTION CountUserDataType(userDataH: UserData;udType: OSType): INTEGER;
  833.  INLINE $303C,$14B,$AAAA;
  834. FUNCTION AddUserDataText(u: UserData;data: Handle;udType: OSType;index: LONGINT;
  835.  itlRegionTag: INTEGER): OSErr;
  836.  INLINE $303C,$14C,$AAAA;
  837. FUNCTION GetUserDataText(u: UserData;data: Handle;udType: OSType;index: LONGINT;
  838.  itlRegionTag: INTEGER): OSErr;
  839.  INLINE $303C,$14D,$AAAA;
  840. FUNCTION RemoveUserDataText(u: UserData;udType: OSType;index: LONGINT;itlRegionTag: INTEGER): OSErr;
  841.  INLINE $303C,$14E,$AAAA;
  842.  
  843. { New UserData routines }
  844. FUNCTION GetNextUserDataType(userDataH: UserData;udType: OSType): OSType;
  845.  INLINE $303C,$1A5,$AAAA;
  846. FUNCTION GetUserDataItem(userDataH: UserData;data: Ptr;size: LONGINT;dataType: OSType;index: LONGINT): OSErr;
  847.  INLINE $303C,$126,$AAAA;
  848. FUNCTION SetUserDataItem(userDataH: UserData;data: Ptr;size: LONGINT;dataType: OSType;index: LONGINT): OSErr;
  849.  INLINE $303C,$12E,$AAAA;
  850. FUNCTION NewUserData(VAR ud: UserData): OSErr;
  851.  INLINE $303C,$12F,$AAAA;
  852. FUNCTION DisposeUserData(ud: UserData): OSErr;
  853.  INLINE $303C,$130,$AAAA;
  854. FUNCTION NewUserDataFromHandle(h: Handle; VAR ud: UserData): OSErr;
  855.  INLINE $303C,$131,$AAAA;
  856. FUNCTION PutUserDataIntoHandle(ud: UserData; h: Handle): OSErr;
  857.  INLINE $303C,$132,$AAAA;
  858.  
  859.  
  860. {  interesting time Routines  }
  861. PROCEDURE GetMediaNextInterestingTime(m: Media;interestingTimeFlags: INTEGER;
  862.  time: TimeValue;rate: Fixed;VAR interestingTime: TimeValue;VAR interestingDuration: TimeValue);
  863.  INLINE $303C,$16D,$AAAA;
  864. PROCEDURE GetTrackNextInterestingTime(t: Track;interestingTimeFlags: INTEGER;
  865.  time: TimeValue;rate: Fixed;VAR interestingTime: TimeValue;VAR interestingDuration: TimeValue);
  866.  INLINE $303C,$E2,$AAAA;
  867. PROCEDURE GetMovieNextInterestingTime(m: Movie;interestingTimeFlags: INTEGER;
  868.  numMediaTypes: INTEGER; whichMediaTypes: OSTypePtr;time: TimeValue;rate: Fixed;
  869.  VAR interestingTime: TimeValue;VAR interestingDuration: TimeValue);
  870.  INLINE $303C,$10E,$AAAA;
  871.  
  872.  
  873. {  movie file Routines  }
  874. FUNCTION CreateMovieFile(fileSpec: FSSpec;creator: OSType;scriptTag: ScriptCode;
  875.  createMovieFileFlags: LONGINT;VAR resRefNum: INTEGER;VAR newMovie: Movie): OSErr;
  876.  INLINE $303C,$191,$AAAA;
  877. FUNCTION DeleteMovieFile(fileSpec: FSSpec): OSErr;
  878.  INLINE $303C,$175,$AAAA;
  879.  
  880. FUNCTION OpenMovieFile(fileSpec: FSSpec;VAR resRefNum: INTEGER;perms: SignedByte): OSErr;
  881.  INLINE $303C,$192,$AAAA;
  882. FUNCTION CloseMovieFile(resRefNum: INTEGER): OSErr;
  883.  INLINE $303C,$D5,$AAAA;
  884.  
  885. FUNCTION ConvertFileToMovieFile(inputFile: FSSpec; outputFile: FSSpec; creator: OSType;
  886.  scriptTag: ScriptCode; VAR resID: INTEGER; flags: LONGINT; userComp: ComponentInstance;
  887.  proc: ProcPtr; refCon: LONGINT): OSErr;
  888.  INLINE $303C,$1CB,$AAAA;
  889. FUNCTION ConvertMovieToFile(theMovie: Movie; onlyTrack: Track; outputFile: FSSpec;
  890.  fileType: OSType; creator: OSType; scriptTag: ScriptCode; VAR resID: INTEGER;
  891.  flags: LONGINT; userComp: ComponentInstance): OSErr;
  892.  INLINE $303C,$1CC,$AAAA;
  893.  
  894. CONST
  895. movieInDataForkResID = -1;    { magic res ID }
  896.  
  897.  
  898. FUNCTION NewMovieFromFile(VAR m: Movie;resRefNum: INTEGER;VAR resId: INTEGER;
  899.  resName: STR255;newMovieFlags: INTEGER;VAR dataRefWasChanged: BOOLEAN): OSErr;
  900.  INLINE $303C,$F0,$AAAA;
  901.  
  902. FUNCTION AddMovieResource(m: Movie;resRefNum: INTEGER;VAR resId: INTEGER;
  903.  resName: STR255): OSErr;
  904.  INLINE $303C,$D7,$AAAA;
  905. FUNCTION RemoveMovieResource(resRefNum: INTEGER;resId: INTEGER): OSErr;
  906.  INLINE $303C,$176,$AAAA;
  907. FUNCTION UpdateMovieResource(m: Movie;resRefNum: INTEGER;resId: INTEGER;
  908.  resName: STR255): OSErr;
  909.  INLINE $303C,$D8,$AAAA;
  910.  
  911. FUNCTION HasMovieChanged(m: Movie): BOOLEAN;
  912.  INLINE $303C,$D9,$AAAA;
  913. PROCEDURE ClearMovieChanged(m: Movie);
  914.  INLINE $303C,$113,$AAAA;
  915.  
  916. PROCEDURE FlattenMovie(m: Movie;movieFlattenFlags: LONGINT;theFile: FSSpec;
  917.  creator: OSType;scriptTag: ScriptCode;createMovieFileFlags: LONGINT;VAR resId: INTEGER;
  918.  resName: STR255);
  919.  INLINE $303C,$19B,$AAAA;
  920. FUNCTION FlattenMovieData(m: Movie;movieFlattenFlags: LONGINT;theFile: FSSpec;
  921.  creator: OSType;scriptTag: ScriptCode;createMovieFileFlags: LONGINT): Movie;
  922.  INLINE $303C,$19C,$AAAA;
  923. PROCEDURE SetMovieProgressProc(m: Movie;p: MovieProgressProcPtr;refCon: LONGINT);
  924.  INLINE $303C,$19A,$AAAA;
  925.  
  926. FUNCTION PutMovieOnScrap(m: Movie;movieScrapFlags: LONGINT): OSErr;
  927.  INLINE $303C,$18C,$AAAA;
  928. FUNCTION NewMovieFromScrap(newMovieFlags: LONGINT): Movie;
  929.  INLINE $303C,$18D,$AAAA;
  930.  
  931.  
  932. {  Video Media Routines  }
  933. FUNCTION GetVideoMediaGraphicsMode(mh: MediaHandler;VAR graphicsMode: LONGINT;
  934.  VAR opColor: RGBColor): HandlerError;
  935.  INLINE $2F3C,$8,$101,$7000,$A82A;
  936. FUNCTION SetVideoMediaGraphicsMode(mh: MediaHandler;graphicsMode: LONGINT;
  937.  opColor: RGBColor): HandlerError;
  938.  INLINE $2F3C,$8,$102,$7000,$A82A;
  939.  
  940.  
  941. {  Sound Media Routines  }
  942. FUNCTION GetSoundMediaBalance(mh: MediaHandler;VAR balance: INTEGER): HandlerError;
  943.  INLINE $2F3C,$4,$101,$7000,$A82A;
  944. FUNCTION SetSoundMediaBalance(mh: MediaHandler;balance: INTEGER): HandlerError;
  945.  INLINE $2F3C,$2,$102,$7000,$A82A;
  946.  
  947. {  Text Media Routines  }
  948. FUNCTION SetTextProc(mh: MediaHandler;TextProc: ProcPtr): ComponentResult;
  949.  INLINE $2F3C,$4,$101,$7000,$A82A;
  950. FUNCTION AddTextSample(mh: MediaHandler;text: Ptr;size: LONGINT; fontNumber: INTEGER;
  951.  fontSize: INTEGER; textFace: Style; textColor: RGBColor; backColor: RGBColor;
  952.  textJustification: LONGINT; textBox: Rect; displayFlags: LONGINT; shrinkTextBoxToFit: Boolean;
  953.  selStart: LONGINT; selEnd: LONGINT; duration: TimeValue; VAR sampleTime: TimeValue): ComponentResult;
  954.  INLINE $2F3C,$34,$102,$7000,$A82A;
  955. FUNCTION AddTESample(mh: MediaHandler;hTE: TEHandle; backColor: RGBColor;
  956.  textJustification: LONGINT; textBox: Rect; displayFlags: LONGINT; shrinkTextBoxToFit: Boolean;
  957.  selStart: LONGINT; selEnd: LONGINT; duration: TimeValue; VAR sampleTime: TimeValue): ComponentResult;
  958.  INLINE $2F3C,$26,$103,$7000,$A82A;
  959. FUNCTION AddHiliteSample(mh: MediaHandler;selStart: LONGINT; selEnd: LONGINT;
  960.  duration: TimeValue; VAR sampleTime: TimeValue): ComponentResult;
  961.  INLINE $2F3C,$10,$104,$7000,$A82A;
  962.  
  963. CONST 
  964. couldNotResolveDataRef = -2000;
  965. badImageDescription = -2001;
  966. badPublicMovieAtom = -2002;
  967. cantFindHandler = -2003;
  968. cantOpenHandler = -2004;
  969. badComponentType = -2005;
  970. noMediaHandler = -2006;
  971. noDataHandler = -2007;
  972. invalidMedia = -2008;
  973. invalidTrack = -2009;
  974. invalidMovie = -2010;
  975. invalidSampleTable = -2011;
  976. invalidDataRef = -2012;
  977. invalidHandler = -2013;
  978. invalidDuration = -2014;
  979. invalidTime = -2015;
  980. cantPutPublicMovieAtom = -2016;
  981. badEditList = -2017;
  982. mediaTypesDontMatch = -2018;
  983. progressProcAborted = -2019;
  984. movieToolboxUninitialized = -2020;
  985. wfFileNotFound = -2021;
  986. cantCreateSingleForkFile = -2022;
  987. invalidEditState = -2023;
  988. nonMatchingEditState = -2024;
  989. staleEditState = -2025;
  990. userDataItemNotFound = -2026;
  991. maxSizeToGrowTooSmall = -2027;
  992. badTrackIndex = -2028;
  993. trackIDNotFound = -2029;
  994. trackNotInMovie = -2030;
  995. timeNotInTrack = -2031;
  996. timeNotInMedia = -2032;
  997. badEditIndex = -2033;
  998. internalQuickTimeError = -2034;
  999. cantEnableTrack = -2035;
  1000. invalidRect = -2036;
  1001. invalidSampleNum = -2037;
  1002. invalidChunkNum = -2038;
  1003. invalidSampleDescIndex = -2039;
  1004. invalidChunkCache = -2040;
  1005. invalidSampleDescription = -2041;
  1006. dataNotOpenForRead = -2042;
  1007. dataNotOpenForWrite = -2043;
  1008. dataAlreadyOpenForWrite = -2044;
  1009. dataAlreadyClosed = -2045;
  1010. endOfDataReached = -2046;
  1011. dataNoDataRef = -2047;
  1012. noMovieFound = -2048;
  1013. invalidDataRefContainer = -2049;
  1014. badDataRefIndex = -2050;
  1015. noDefaultDataRef = -2051;
  1016. couldNotUseAnExistingSample = -2052;
  1017. featureUnsupported = -2053;
  1018.  
  1019. loopTimeBase = 1;
  1020. palindromeLoopTimeBase = 2;
  1021. TYPE
  1022. { TimeBase Routines }
  1023. TimeBaseFlags = CHAR;
  1024.  
  1025. CONST
  1026. triggerTimeFwd = $0001;        { when curTime exceeds triggerTime going forward }
  1027. triggerTimeBwd = $0002;        { when curTime exceeds triggerTime going backwards }
  1028. triggerTimeEither = $0003;    { when curTime exceeds triggerTime going either direction }
  1029. triggerRateLT = $0004;        { when rate changes to less than trigger value }
  1030. triggerRateGT = $0008;        { when rate changes to greater than trigger value }
  1031. triggerRateEqual = $0010;    { when rate changes to equal trigger value }
  1032. triggerRateLTE = $0014;
  1033. triggerRateGTE = $0018;
  1034. triggerRateNotEqual = $001C;
  1035. triggerRateChange = 0;
  1036. timeBaseBeforeStartTime = 1;
  1037. timeBaseAfterStopTime = 2;
  1038. callBackAtTime = 1;
  1039. callBackAtRate = 2;
  1040. callBackAtTimeJump = 3;
  1041. callBackAtExtremes = 4;
  1042. callBackAtInterrupt = $8000;
  1043.  
  1044. TYPE
  1045. QTCallBackProc = ProcPtr;
  1046.  
  1047. CONST
  1048. qtcbNeedsRateChanges = 1;
  1049. qtcbNeedsTimeChanges = 2;
  1050. qtcbNeedsStartStopChanges = 4;
  1051.  
  1052. TYPE
  1053. { CallBack equates }
  1054. QTCallBackHeader = RECORD
  1055.  callBackFlags: LONGINT;
  1056.  reserved1: LONGINT;
  1057.  qtPrivate: PACKED ARRAY [0..39] OF Byte;
  1058.  END;
  1059.  
  1060.  
  1061.  
  1062. {  TimeBase Routines  }
  1063. FUNCTION NewTimeBase: TimeBase;
  1064.  INLINE $303C,$A5,$AAAA;
  1065. PROCEDURE DisposeTimeBase(tb: TimeBase);
  1066.  INLINE $303C,$B6,$AAAA;
  1067.  
  1068. FUNCTION GetTimeBaseTime(tb: TimeBase;s: TimeScale;VAR out: TimeRecord): TimeValue;
  1069.  INLINE $303C,$A6,$AAAA;
  1070. PROCEDURE SetTimeBaseTime(tb: TimeBase;tr: TimeRecord);
  1071.  INLINE $303C,$A7,$AAAA;
  1072. PROCEDURE SetTimeBaseValue(tb: TimeBase;t: TimeValue;s: TimeScale);
  1073.  INLINE $303C,$A8,$AAAA;
  1074.  
  1075. FUNCTION GetTimeBaseRate(tb: TimeBase): Fixed;
  1076.  INLINE $303C,$A9,$AAAA;
  1077. PROCEDURE SetTimeBaseRate(tb: TimeBase;r: Fixed);
  1078.  INLINE $303C,$AA,$AAAA;
  1079.  
  1080. FUNCTION GetTimeBaseStartTime(tb: TimeBase;s: TimeScale;VAR out: TimeRecord): TimeValue;
  1081.  INLINE $303C,$AB,$AAAA;
  1082. PROCEDURE SetTimeBaseStartTime(tb: TimeBase;tr: TimeRecord);
  1083.  INLINE $303C,$AC,$AAAA;
  1084. FUNCTION GetTimeBaseStopTime(tb: TimeBase;s: TimeScale;VAR out: TimeRecord): TimeValue;
  1085.  INLINE $303C,$AD,$AAAA;
  1086. PROCEDURE SetTimeBaseStopTime(tb: TimeBase;tr: TimeRecord);
  1087.  INLINE $303C,$AE,$AAAA;
  1088.  
  1089. FUNCTION GetTimeBaseFlags(tb: TimeBase): LONGINT;
  1090.  INLINE $303C,$B1,$AAAA;
  1091. PROCEDURE SetTimeBaseFlags(tb: TimeBase;timeBaseFlags: LONGINT);
  1092.  INLINE $303C,$B2,$AAAA;
  1093.  
  1094. PROCEDURE SetTimeBaseMasterTimeBase(slave: TimeBase;master: TimeBase;slaveZero: TimeRecord);
  1095.  INLINE $303C,$B4,$AAAA;
  1096. FUNCTION GetTimeBaseMasterTimeBase(tb: TimeBase): TimeBase;
  1097.  INLINE $303C,$AF,$AAAA;
  1098. PROCEDURE SetTimeBaseMasterClock(slave: TimeBase;clockMeister: Component;
  1099.  slaveZero: TimeRecord);
  1100.  INLINE $303C,$B3,$AAAA;
  1101. FUNCTION GetTimeBaseMasterClock(tb: TimeBase): ComponentInstance;
  1102.  INLINE $303C,$B0,$AAAA;
  1103.  
  1104. PROCEDURE ConvertTime(VAR inout: TimeRecord;newBase: TimeBase);
  1105.  INLINE $303C,$B5,$AAAA;
  1106. PROCEDURE ConvertTimeScale(VAR inout: TimeRecord;newScale: TimeScale);
  1107.  INLINE $303C,$B7,$AAAA;
  1108. PROCEDURE AddTime(VAR dst: TimeRecord;src: TimeRecord);
  1109.  INLINE $303C,$10C,$AAAA;
  1110. PROCEDURE SubtractTime(VAR dst: TimeRecord;src: TimeRecord);
  1111.  INLINE $303C,$10D,$AAAA;
  1112.  
  1113. FUNCTION GetTimeBaseStatus(tb: TimeBase;VAR unpinnedTime: TimeRecord): LONGINT;
  1114.  INLINE $303C,$10B,$AAAA;
  1115.  
  1116. PROCEDURE SetTimeBaseZero(tb: TimeBase;VAR zero: TimeRecord);
  1117.  INLINE $303C,$128,$AAAA;
  1118.  
  1119.  
  1120. {  CallBack Routines  }
  1121. FUNCTION NewCallBack(tb: TimeBase;cbType: INTEGER): QTCallBack;
  1122.  INLINE $303C,$EB,$AAAA;
  1123.  
  1124. PROCEDURE DisposeCallBack(qtCall: QTCallBack);
  1125.  INLINE $303C,$EC,$AAAA;
  1126.  
  1127. FUNCTION GetCallBackType(qtCall: QTCallBack): INTEGER;
  1128.  INLINE $303C,$ED,$AAAA;
  1129. FUNCTION GetCallBackTimeBase(qtCall: QTCallBack): TimeBase;
  1130.  INLINE $303C,$EE,$AAAA;
  1131.  
  1132. FUNCTION CallMeWhen(qtCall: QTCallBack;callBackProc: QTCallBackProc;refCon: LONGINT;
  1133.  param1: LONGINT;param2: LONGINT;param3: LONGINT): OSErr;
  1134.  INLINE $303C,$B8,$AAAA;
  1135.  
  1136. PROCEDURE CancelCallBack(cb: QTCallBack);
  1137.  INLINE $303C,$B9,$AAAA;
  1138.  
  1139.  
  1140. {  Clock CallBack support Routines  }
  1141. FUNCTION AddCallBackToTimeBase(cb: QTCallBack): OSErr;
  1142.  INLINE $303C,$129,$AAAA;
  1143. FUNCTION RemoveCallBackFromTimeBase(cb: QTCallBack): OSErr;
  1144.  INLINE $303C,$12A,$AAAA;
  1145. FUNCTION GetFirstCallBack(tb: TimeBase): QTCallBack;
  1146.  INLINE $303C,$12B,$AAAA;
  1147. FUNCTION GetNextCallBack(cb: QTCallBack): QTCallBack;
  1148.  INLINE $303C,$12C,$AAAA;
  1149. PROCEDURE ExecuteCallBack(cb: QTCallBack);
  1150.  INLINE $303C,$12D,$AAAA;
  1151.  
  1152. CONST
  1153.  
  1154. { Movie Controller Routines }
  1155. MovieControllerComponentType = 'play';
  1156.  
  1157. mcActionIdle = 1;
  1158. mcActionDraw = 2;
  1159. mcActionActivate = 3;
  1160. mcActionDeactivate = 4;
  1161. mcActionMouseDown = 5;
  1162. mcActionKey = 6;
  1163. mcActionPlay = 8;
  1164. mcActionGoToTime = 12;
  1165. mcActionSetVolume = 14;
  1166. mcActionGetVolume = 15;
  1167. mcActionStep = 18;
  1168. mcActionSetLooping = 21;
  1169. mcActionGetLooping = 22;
  1170. mcActionSetLoopIsPalindrome = 23;
  1171. mcActionGetLoopIsPalindrome = 24;
  1172. mcActionSetGrowBoxBounds = 25;
  1173. mcActionControllerSizeChanged = 26;
  1174. mcActionSetSelectionBegin = 29;
  1175. mcActionSetSelectionDuration = 30;
  1176. mcActionSetPosterTime = 31;
  1177. mcActionSetKeysEnabled = 32;
  1178. mcActionGetKeysEnabled = 33;
  1179. mcActionSetPlaySelection = 34;
  1180. mcActionGetPlaySelection = 35;
  1181. mcActionSetUseBadge = 36;
  1182. mcActionGetUseBadge = 37;
  1183. mcActionSetFlags = 38;
  1184. mcActionGetFlags = 39;
  1185. mcActionSetPlayEveryFrame = 40;
  1186. mcActionGetPlayEveryFrame = 41;
  1187. mcActionGetPlayRate = 42;
  1188. mcActionShowBalloon = 43;
  1189. mcActionBadgeClick = 44;
  1190.  
  1191. TYPE
  1192. mcAction = INTEGER;
  1193. MCActionFilter = ProcPtr;
  1194.  
  1195. CONST
  1196. mcFlagSuppressMovieFrame = 1;
  1197. mcFlagSuppressStepButtons = 2;
  1198. mcFlagSuppressSpeakerButton = 4;
  1199. mcFlagsUseWindowPalette = 8;
  1200.  
  1201. mcTopLeftMovie = $1;
  1202. mcScaleMovieToFit = $2;
  1203. mcWithBadge = $4;
  1204. mcNotVisible = $8;
  1205. mcWithFrame = $10;
  1206. mcInfoUndoAvailable = $1;
  1207. mcInfoCutAvailable = $2;
  1208. mcInfoCopyAvailable = $4;
  1209. mcInfoPasteAvailable = $8;
  1210. mcInfoClearAvailable = $10;
  1211. mcInfoHasSound = $20;
  1212. mcInfoIsPlaying = $40;
  1213. mcInfoIsLooping = $80;
  1214. mcInfoIsInPalindrome = $100;
  1215. mcInfoEditingEnabled = $200;
  1216.  
  1217.  
  1218. {  target management  }
  1219. FUNCTION NewMovieController(m: Movie;movieRect: Rect;controllerCreationFlags: LONGINT): MovieController;
  1220.  INLINE $303C,$18A,$AAAA;
  1221. PROCEDURE DisposeMovieController(mc: MovieController);
  1222.  INLINE $303C,$18B,$AAAA;
  1223.  
  1224. FUNCTION MCSetMovie(mc: MovieController;m: Movie;movieWindow: WindowPtr;
  1225.  where: Point): ComponentResult;
  1226.  INLINE $2F3C,$C,$2,$7000,$A82A;
  1227. FUNCTION MCGetMovie(mc: MovieController): Movie;
  1228.  INLINE $4267, $2F3C,$2,$5,$7000,$A82A;
  1229. FUNCTION MCRemoveMovie(mc: MovieController): ComponentResult;
  1230.  INLINE $2F3C,$0,$6,$7000,$A82A;
  1231.  
  1232.  
  1233. {  event handling etc.  }
  1234. FUNCTION MCIsPlayerEvent(mc: MovieController;e: EventRecord): ComponentResult;
  1235.  INLINE $2F3C,$4,$7,$7000,$A82A;
  1236. FUNCTION MCSetActionFilter(mc: MovieController;filter: MCActionFilter): ComponentResult;
  1237.  INLINE $2F3C,$4,$8,$7000,$A82A;
  1238. FUNCTION MCDoAction(mc: MovieController;action: INTEGER;params: Ptr): ComponentResult;
  1239.  INLINE $2F3C,$6,$9,$7000,$A82A;
  1240.  
  1241.  
  1242. {  state type things  }
  1243. FUNCTION MCSetControllerAttached(mc: MovieController;attach: BOOLEAN): ComponentResult;
  1244.  INLINE $2F3C,$2,$A,$7000,$A82A;
  1245. FUNCTION MCIsControllerAttached(mc: MovieController): ComponentResult;
  1246.  INLINE $2F3C,$0,$B,$7000,$A82A;
  1247. FUNCTION MCSetControllerPort(mc: MovieController;gp: CGrafPtr): ComponentResult;
  1248.  INLINE $2F3C,$4,$C,$7000,$A82A;
  1249. FUNCTION MCGetControllerPort(mc: MovieController): CGrafPtr;
  1250.  INLINE $2F3C,$0,$D,$7000,$A82A;
  1251.  
  1252. FUNCTION MCSetVisible(mc: MovieController;show: BOOLEAN): ComponentResult;
  1253.  INLINE $2F3C,$2,$E,$7000,$A82A;
  1254. FUNCTION MCGetVisible(mc: MovieController): ComponentResult;
  1255.  INLINE $2F3C,$0,$F,$7000,$A82A;
  1256.  
  1257. FUNCTION MCGetControllerBoundsRect(mc: MovieController;VAR bounds: Rect): ComponentResult;
  1258.  INLINE $2F3C,$4,$10,$7000,$A82A;
  1259. FUNCTION MCSetControllerBoundsRect(mc: MovieController;bounds: Rect): ComponentResult;
  1260.  INLINE $2F3C,$4,$11,$7000,$A82A;
  1261. FUNCTION MCGetControllerBoundsRgn(mc: MovieController): RgnHandle;
  1262.  INLINE $2F3C,$0,$12,$7000,$A82A;
  1263. FUNCTION MCGetWindowRgn(mc: MovieController;w: WindowPtr): RgnHandle;
  1264.  INLINE $2F3C,$4,$13,$7000,$A82A;
  1265.  
  1266.  
  1267. {  other stuff  }
  1268. FUNCTION MCMovieChanged(mc: MovieController;m: Movie): ComponentResult;
  1269.  INLINE $2F3C,$4,$14,$7000,$A82A;
  1270. FUNCTION MCSetDuration(mc: MovieController;duration: TimeValue): ComponentResult;
  1271.  INLINE $2F3C,$4,$15,$7000,$A82A;
  1272. FUNCTION MCGetCurrentTime(mc: MovieController;VAR scale: TimeScale): TimeValue;
  1273.  INLINE $2F3C,$4,$16,$7000,$A82A;
  1274. FUNCTION MCNewAttachedController(mc: MovieController;m: Movie;w: WindowPtr;
  1275.  where: Point): ComponentResult;
  1276.  INLINE $2F3C,$C,$17,$7000,$A82A;
  1277. FUNCTION MCPositionController(mc: MovieController;VAR movieRect: Rect;VAR controllerRect: Rect;
  1278.  controllerCreationFlags: LONGINT): ComponentResult;
  1279.  INLINE $2F3C,$C,$24,$7000,$A82A;
  1280.  
  1281.  
  1282. {  direct event handlers  }
  1283. FUNCTION MCDraw(mc: MovieController;w: WindowPtr): ComponentResult;
  1284.  INLINE $2F3C,$4,$18,$7000,$A82A;
  1285. FUNCTION MCActivate(mc: MovieController;w: WindowPtr;activate: BOOLEAN): ComponentResult;
  1286.  INLINE $2F3C,$6,$19,$7000,$A82A;
  1287. FUNCTION MCIdle(mc: MovieController): ComponentResult;
  1288.  INLINE $2F3C,$0,$1A,$7000,$A82A;
  1289. FUNCTION MCKey(mc: MovieController;key: SignedByte;modifiers: LONGINT): ComponentResult;
  1290.  INLINE $2F3C,$6,$1B,$7000,$A82A;
  1291. FUNCTION MCClick(mc: MovieController;w: WindowPtr;where: Point;when: LONGINT;
  1292.  modifiers: LONGINT): ComponentResult;
  1293.  INLINE $2F3C,$10,$1C,$7000,$A82A;
  1294.  
  1295.  
  1296. {   calls for editing  }
  1297. FUNCTION MCEnableEditing(mc: MovieController;enabled: BOOLEAN): ComponentResult;
  1298.  INLINE $2F3C,$2,$1D,$7000,$A82A;
  1299. FUNCTION MCIsEditingEnabled(mc: MovieController): LONGINT;
  1300.  INLINE $2F3C,$0,$1E,$7000,$A82A;
  1301. FUNCTION MCCopy(mc: MovieController): Movie;
  1302.  INLINE $2F3C,$0,$1F,$7000,$A82A;
  1303. FUNCTION MCCut(mc: MovieController): Movie;
  1304.  INLINE $2F3C,$0,$20,$7000,$A82A;
  1305. FUNCTION MCPaste(mc: MovieController;srcMovie: Movie): ComponentResult;
  1306.  INLINE $2F3C,$4,$21,$7000,$A82A;
  1307. FUNCTION MCClear(mc: MovieController): ComponentResult;
  1308.  INLINE $2F3C,$0,$22,$7000,$A82A;
  1309. FUNCTION MCUndo(mc: MovieController): ComponentResult;
  1310.  INLINE $2F3C,$0,$23,$7000,$A82A;
  1311.  
  1312.  
  1313. {  menu related stuff  }
  1314. FUNCTION MCGetControllerInfo(mc: MovieController;VAR mcInfoFlags: LONGINT): ComponentResult;
  1315.  INLINE $2F3C,$4,$25,$7000,$A82A;
  1316.  
  1317. FUNCTION MCSetUpEditMenu(mc: MovieController;modifiers: LONGINT; mh: MenuHandle): ComponentResult;
  1318.  INLINE $2F3C,$8,$2B,$7000,$A82A;
  1319. FUNCTION MCGetMenuString(mc: MovieController;modifiers: LONGINT; item: INTEGER; VAR aString:Str255): ComponentResult;
  1320.  INLINE $2F3C,$A,$2C,$7000,$A82A;
  1321.  
  1322.  
  1323.  
  1324. FUNCTION MCSetClip(mc:MovieController;theClip: RgnHandle;movieClip:RgnHandle):ComponentResult;
  1325. INLINE $2f3c,8,40,$7000,$a82a;
  1326. FUNCTION MCGetClip(mc:MovieController;VAR theClip: RgnHandle;VAR movieClip:RgnHandle):ComponentResult;
  1327. INLINE $2f3c,8,41,$7000,$a82a;
  1328.  
  1329. FUNCTION MCDrawBadge(mc:MovieController;movieRgn:RgnHandle;VAR badgeRgn:RgnHandle):ComponentResult;
  1330. INLINE $2f3c,8,42,$7000,$a82a;
  1331.  
  1332.  
  1333.  
  1334. CONST
  1335.  
  1336. { movie controller error codes }
  1337. cannotMoveAttachedController = -9999;
  1338. controllerHasFixedHeight = -9998;
  1339. cannotSetWidthOfAttachedController = -9997;
  1340. controllerBoundsNotExact = -9996;
  1341. editingNotAllowed = -9995;
  1342. badControllerHeight = -9994;
  1343.  
  1344. { movie controller routine selectors }
  1345. kMCSetMovieSelect = 2;
  1346. kMCRemoveMovieSelect = 3;
  1347. kMCIsPlayerEventSelect = 7;
  1348. kMCSetActionFilterSelect = 8;
  1349. kMCDoActionSelect = 9;
  1350. kMCSetControllerAttachedSelect = 10;
  1351. kMCIsControllerAttachedSelect = 11;
  1352. kMCSetControllerPortSelect = 12;
  1353. kMCGetControllerPortSelect = 13;
  1354. kMCGetVisibleSelect = 14;
  1355. kMCSetVisibleSelect = 15;
  1356. kMCGetControllerBoundsRectSelect = 16;
  1357. kMCSetControllerBoundsRectSelect = 17;
  1358. kMCGetControllerBoundsRgnSelect = 18;
  1359. kMCGetWindowRgnSelect = 19;
  1360. kMCMovieChangedSelect = 20;
  1361. kMCSetDurationSelect = 21;
  1362. kMCGetCurrentTimeSelect = 22;
  1363. kMCNewAttachedControllerSelect = 23;
  1364. kMCDrawSelect = 24;
  1365. kMCActivateSelect = 25;
  1366. kMCIdleSelect = 26;
  1367. kMCKeySelect = 27;
  1368. kMCClickSelect = 28;
  1369. kMCEnableEditingSelect = 29;
  1370. kMCIsEditingEnabledSelect = 30;
  1371. kMCCopySelect = 31;
  1372. kMCCutSelect = 32;
  1373. kMCPasteSelect = 33;
  1374. kMCClearSelect = 34;
  1375. kMCUndoSelect = 35;
  1376. kMCPositionControllerSelect = 36;
  1377. kMCGetControllerInfoSelect = 37;
  1378. kMCNewControllerFromFileSelect = 38;
  1379. kMCSetBadgePictSelect = 39;
  1380. kMCSetClipSelect = 40;
  1381. kMCGetClipSelect = 41;
  1382. kMCDrawBadgeSelect = 42;
  1383.  
  1384. {$ENDC} { UsingMovies }
  1385.  
  1386. {$IFC NOT UsingIncludes}
  1387.  END.
  1388. {$ENDC}
  1389.  
  1390.